package com.loong;
/**
 * 二分查找类
 * 该类提供了一个二分查找算法的方法，用于在有序数组中高效查找指定的元素
 */
public class BinarySearchClass {

    /**
     * 使用二分查找算法在有序数组中查找指定元素
     *
     * @param scores 一个有序的整数数组
     * @param key 要查找的指定元素
     * @return 如果找到指定元素，返回其在数组中的索引；如果未找到，返回-1
     */
    public int BinarySearch(int[] scores, int key) {
        int low = 0;
        int high = scores.length - 1;
        while (low <= high) {
            int mid = low + (high - low) / 2;
            if (scores[mid] == key) {
                return mid;
            } else if (scores[mid] < key) {
                low = mid + 1;
            } else {
                high = mid - 1;
            }
        }
        return -1;
    }
}